import pandas as pd


def merge_excels(excel1_path, excel2_path, excel3_path, output_path='output.xlsx'):
    d_type = {
        '讲课后习题原卷id':str
    }
    # 读取三个Excel文件
    df1 = pd.read_excel(excel1_path, dtype=d_type)
    df2 = pd.read_excel(excel2_path)
    df3 = pd.read_excel(excel3_path)

    # 根据包id匹配excel2的课程包id，拼接指定列
    merged_df = pd.merge(
        df1,
        df2[['课程包id', '课程包创建时间', '课程包修改时间', '前台是否展示']],
        left_on='包id',
        right_on='课程包id',
        how='left'
    )

    # 删除多余的课程包id列（如果不需要保留）
    merged_df = merged_df.drop(columns=['课程包id'], errors='ignore')

    # 根据讲id匹配excel3的课程讲id，拼接指定列
    final_df = pd.merge(
        merged_df,
        df3[['课程讲id', '课程讲创建时间', '课程讲更新时间']],
        left_on='讲id',
        right_on='课程讲id',
        how='left'
    )

    # 删除多余的课程讲id列（如果不需要保留）
    final_df = final_df.drop(columns=['课程讲id'], errors='ignore')

    # 保存结果到新的Excel文件
    final_df.to_excel(output_path, index=False)

    print(f"结果已保存到 {output_path}")

# 示例用法
merge_excels('D:\\project_file\\老卷下线\\20250923周末智学和E讲堂目录使用到的课程包标记.xlsx',
             'D:\\project_file\\老卷下线\\20250926包前台展示数据\\2025-09-26-17-01-21_EXPORT_XLSX_21586603_478_0.xlsx',
             'D:\\project_file\\老卷下线\\20250926包前台展示数据\\2025-09-26-17-01-21_EXPORT_XLSX_21586603_564_1.xlsx', 'output.xlsx')